MTT's are definitely the least profitbale in the long term for the average player. They take too long in relation to what the average player will make. Granted if you hit a big first place prize it will dwarf what most cash game players can make, but its more of a lottery than consistent hourly moneymaker.
SNG's used to be my favorite until i realized that the amount i was making per hour at SNGs was far below what i make at the cash games.
Another point, if you get busted in a SNG by a really bad player, you are done. if you get busted by a really bad player in a cash game you can reload and take advantage of his bad play.
But i think its healthy to change things up once in a while. I probably play 90 percent cash games and the occasional SNG and once a week i play a MTT.